#pragma once

#include<iostream>
#include"Mutex.hpp"
using namespace MutexModule;
class Cond
{
public:
    Cond()
    {
        pthread_cond_init(&_cond,nullptr);
    }
    void Wait(Mutex& mutex)
    {
        pthread_cond_wait(&_cond,mutex.Get());//需要传入锁
    }
    void Signal()
    {
        pthread_cond_signal(&_cond);
    }
    void Broadcast()
    {
        pthread_cond_broadcast(&_cond);
    }
    ~Cond()
    {
        pthread_cond_destroy(&_cond);
    }
private:
    pthread_cond_t _cond;
};